package com.medic.service.interf;

import java.util.List;

import com.medic.entity.group.pain.SikerInfo;

public interface SikerinfoServiceInterface extends ServiceInterface<SikerInfo> {
	/**
	 * 结束评测
	 * 
	 * @param id
	 *            评测id
	 * @return 成功true
	 * @throws Exception
	 */
	public boolean endEvalById(int id) throws Exception;

	/**
	 * 结束评测，通过sikerId、groupId
	 * 
	 * @param sikerId
	 *            患者id
	 * @param groupId
	 *            组id
	 * @return 成功true
	 * @throws Exception
	 */
	public boolean endEvalByUser(int sikerId, int groupId) throws Exception;

	/**
	 * 获取所有的入组信息
	 * 
	 * @return list集合
	 * @throws Exception
	 */
	public List<SikerInfo> getAll() throws Exception;

	/**
	 * 根据缓存的入组信息定时发布任务
	 * 
	 * @throws Exception
	 */
	public void produceTask() throws Exception;

	/**
	 * 更新持续疼评分大于四的次数
	 * 
	 * @param id
	 *            入组信息id
	 * @param coPain
	 *            次数
	 * @return 成功返回true
	 * @throws Exception
	 */
	public boolean updateCoPain(int id, int coPain) throws Exception;

	/**
	 * 初始化入组信息
	 * 
	 * @param sikerId
	 *            患者id
	 * @param groupId
	 *            组id
	 * @throws Exception
	 */
	public void initInfo(int sikerId, int groupId) throws Exception;
	
	/**
	 * 重启流程 （重启流程后需要马上进行入组后的各项流程）
	 * @param sikerId 患者id
	 * @param groupId 组id
	 * @return 成功返回true
	 * @throws Exception
	 */
	public boolean restartInfo(int sikerId,int groupId) throws Exception;
}
